package a.f;

import a.a.h;
import a.c.bb;
import a.c.*;
import a.c.x;
import a.i.db;

import java.util.HashMap;
import java.util.Map;

public class v
  extends r
{
  public static final Object g = "y.layout.EdgeReversalStage.REVERSE_EDGES_DPKEY";
  public static int h;
  
  public v()
  {
    this(null);
  }
  
  public v(rc paramrc)
  {
    super(paramrc);
  }
  
  public boolean canLayout(o paramo)
  {
    return b(paramo);
  }
  
  public void doLayout(o paramo)
  {
    boolean bool = o.eg;
    int i = o.dg;
    k localk1 = paramo.c(ed.a);
    k localk2 = paramo.c(ed.b);
    k localk3 = paramo.c(ed.c);
    k localk4 = paramo.c(ed.d);
    paramo.j(ed.a);
    paramo.j(ed.b);
    paramo.j(ed.c);
    paramo.j(ed.d);
    k localk5 = paramo.c(g);
    if (!bool) {
      if (localk5 != null)
      {
        HashMap localHashMap1 = new HashMap();
        HashMap localHashMap2 = new HashMap();
        HashMap localHashMap3 = new HashMap();
        HashMap localHashMap4 = new HashMap();
        m localm = paramo.w();
        do
        {
          if (!localm.e()) {
            break;
          }
          d locald = localm.a();
          if (i != 0) {
            break label269;
          }
          if (localk5.getBool(locald))
          {
            a(locald, localk1, localHashMap2);
            a(locald, localk2, localHashMap1);
            a(locald, localk3, localHashMap4);
            a(locald, localk4, localHashMap3);
            if (bool) {
              continue;
            }
            if (i == 0) {}
          }
          else
          {
            a(locald, localk1, localHashMap1);
            a(locald, localk2, localHashMap2);
            a(locald, localk3, localHashMap3);
            a(locald, localk4, localHashMap4);
          }
          localm.f();
        } while (i == 0);
        if (!bool) {
          if (!localHashMap1.isEmpty()) {
            label269:
            paramo.a(ed.a, db.b(localHashMap1));
          }
        }
        if (!bool) {
          if (!localHashMap2.isEmpty()) {
            paramo.a(ed.b, db.b(localHashMap2));
          }
        }
        if (!bool) {
          if (!localHashMap3.isEmpty()) {
            paramo.a(ed.c, db.b(localHashMap3));
          }
        }
        if (!bool)
        {
          if (localHashMap4.isEmpty()) {
            break label441;
          }
          paramo.a(ed.d, db.b(localHashMap4));
          if (bool) {
            break label484;
          }
        }
        if (i == 0) {
          break label441;
        }
      }
    }
    if (!bool) {
      if (localk1 != null) {
        paramo.a(ed.b, localk1);
      }
    }
    if (!bool) {
      if (localk2 != null) {
        paramo.a(ed.a, localk2);
      }
    }
    if (!bool) {
      if (localk3 != null) {
        paramo.a(ed.d, localk3);
      }
    }
    if (!bool)
    {
      if (localk4 != null) {
        paramo.a(ed.c, localk4);
      }
      label441:
      c(paramo);
      a(paramo);
      c(paramo);
      paramo.j(ed.a);
      paramo.j(ed.b);
      paramo.j(ed.c);
      paramo.j(ed.d);
    }
    label484:
    if (!bool) {
      if (localk1 != null) {
        paramo.a(ed.a, localk1);
      }
    }
    if (!bool) {
      if (localk2 != null) {
        paramo.a(ed.b, localk2);
      }
    }
    if (!bool) {
      if (localk3 != null) {
        paramo.a(ed.c, localk3);
      }
    }
    if (localk4 != null) {
      paramo.a(ed.d, localk4);
    }
  }
  
  public void c(o paramo)
  {
    boolean bool = o.eg;
    int i = o.dg;
    k localk = paramo.c(g);
    m localm;
    if (localk == null)
    {
      localm = paramo.w();
      do
      {
        if (!localm.e()) {
          break;
        }
        a(paramo, localm.a());
        localm.f();
      } while (i == 0);
    }
    while (bool)
    {
      localm = paramo.w();
      while (i == 0)
      {
        if (!localm.e()) {
          break;
        }
        if (!bool)
        {
          if (localk.getBool(localm.a())) {
            a(paramo, localm.a());
          }
          localm.f();
        }
      }
    }
  }
  
  public void a(o paramo, d paramd)
  {
    boolean bool = o.eg;
    int j = o.dg;
    wb[] arrayOfwb = paramo.g(paramd);
    a.d.o[] arrayOfo = new a.d.o[arrayOfwb.length];
    int i = 0;
    if (i < arrayOfwb.length)
    {
      arrayOfo[i] = arrayOfwb[i].d();
      i++;
    }
    for (;;)
    {
      if (!bool) {
        if (j == 0)
        {
          if (j == 0) {
            break;
          }
          paramo.e(paramd);
          if (bool) {
            continue;
          }
          wc.a(paramo.b(paramd));
        }
      }
    }
    i = 0;
    do
    {
      while (j == 0)
      {
        if (i >= arrayOfwb.length) {
          break;
        }
        arrayOfwb[i].a(arrayOfwb[i].a().a(arrayOfo[i], paramo.e(paramd), paramo.d(paramd.e()), paramo.d(paramd.f())));
        i++;
      }
    } while (bool);
  }
  
  public static void a(o paramo, e parame, i parami)
  {
    if (((!o.eg) && (parame == null)) || (parame.g() != paramo)) {
      throw new IllegalArgumentException("Root node does not belong to graph");
    }
    x localx = db.a(new int[paramo.k()]);
    b.a(paramo, new bb(parame), false, localx);
    h local0 = new h()
    {
      private final x val$layerId;
      private final i val$reversedEdges;
      
      protected void a(d paramAnonymousd, e paramAnonymouse, boolean paramAnonymousBoolean)
      {
        if ((o.eg) || (this.val$layerId.getInt(paramAnonymousd.e()) > this.val$layerId.getInt(paramAnonymousd.f()))) {
          this.val$reversedEdges.a(paramAnonymousd, true);
        }
      }
    };
    local0.a(false);
    local0.b(false);
    local0.a(paramo, parame);
  }
  
  private static void a(d paramd, k paramk, Map paramMap)
  {
    boolean bool = o.eg;
    if ((bool) || (paramk != null))
    {
      Object localObject = paramk.get(paramd);
      if ((bool) || (localObject != null)) {
        paramMap.put(paramd, localObject);
      }
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.v

 * JD-Core Version:    0.7.0.1

 */